The present invention relates generally to graphical user interfaces for computer systems. More particularly, the present invention relates to systems and methods for interfacing applications and operating systems which provide for added behavior, in the form of sound effects, over object operation and movement in graphical user interfaces.
The evolution of the computer industry is unparalleled in its rate of growth and complexity. Personal computers, for example, which began as little more than feeble calculators with limited memory, tape-driven input and monochrome displays are now able to tackle almost any data processing task. While this meteoric increase in power was almost sufficient to satisfy the demand of application programmers and end users alike, the corresponding increase in complexity created an ease-of-use problem which the industry was somewhat slower in solving. Thus, designers were faced with a new challenge: to harness this computing power in a form usable by even those with relatively little computer training to smooth the transition of other industries into a computer-based information paradigm.
As a result, in the early to mid-1980's many new I/O philosophies, such as "user friendly," "WYSIWYG" and "menu driven" came to the forefront of the industry. These concepts are particularly applicable to microcomputers, also known as personal computers, which are intended to appeal to a broad audience of computer users, including those who previously feared and mistrusted computers. An important aspect of computers which employ these concepts was, and continues to be, the interface which allows the user to input commands and data and receive results, which is commonly referred to as a graphical user interface (GUI).
One type of GUI display is based on a visual metaphor which uses a monitor screen as a work surface called a "desktop" where documents are presented in relocatable regions termed "windows". The user interacts with the computer by, for example, moving objects on the desktop, choosing commands from menus, and manipulating window control elements, such as checkboxes and scroll bars. An exemplary desktop screen is reproduced as FIG. 1. Therein, various GUI objects including windows and icons are depicted.
Windows are one example of GUI objects which can be virtually any size, shape, or color. Some standard types of windows are commonly predefined for the interface including, for example, a document window and a dialog box. One example of a standard for a document window is illustrated in FIG. 2. Each document window which conforms to this standard has a title bar with a title drawn in a system-defined font and color. Active document windows can also have control elements as illustrated in FIG. 2, for example, a close box, a zoom box, a size box, and scroll bars. Other control elements, not shown in FIG. 2, include buttons, menu items and checkboxes. Those skilled in the art will recognize that myriad other control elements are known and in use.
Control elements are on-screen objects that a user can manipulate with, for example, a mouse to cause an immediate action or modify settings to cause a future action. For example, a button control element can provide for the graphical user interface to receive user input as to a selected function to be performed by the system. FIG. 3 illustrates a window entitled "Find" having three button control elements whose titles describe the function to be performed when these control elements are activated. A user can activate a button control element in a variety of ways, for example by positioning a cursor (not shown in FIG. 3) over the control element and providing an activating input, e.g., depressing a mouse button.
As shown in FIG. 3, control elements are typically displayed in a static default or normal state. However, when a button control element is actuated the graphical user interface redraws the control element in a second static state which visually informs the user that the system has recognized the user's input and is performing the desired function. For example, some conventional graphical user interfaces redraw button control elements in a depressed state to indicate activation. However, most software applications provide little or no corresponding sound behavior to accompany the transition between states.
The success of these types of conventional interfaces is evident from the number of companies which have emulated the desktop environment. Even successful concepts, however, must continually be improved in order to keep pace with the rapid growth in this industry. The advent of multimedia, especially CD-ROM devices, has provided vast quantities of secondary storage which have been used to provide video capabilities, e.g., live animation and video clips, as regular components of applications. With these new resources at their disposal, application designers, and others, desire additional control over the appearance and behavior of the display, including the desktop environment and, in particular, objects and control elements on the desktop.
In the related application entitled "Graphical User Interfaces Having Animated Control Elements", it has been described how to provide additional control over the appearance of, for example, control elements by providing animated transition effects. The present invention expands upon these concepts by describing various techniques for creating realistic sound effects which can be provided to support object actions and enhance the behavior of the graphical user interface.